/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package propres;
import java.util.*;
/**
 *
 * @author Administrador
 */
public class CtrlDominioPagos {

        private pagos pag;
        //private estrucliente T = new estrucliente();
        //private g_disco gestor = new g_discop();
        //private dieta diet;
        private cliente cl;
        private CtrlDominioCliente CDc;
    
    public CtrlDominioPagos(CtrlDominioCliente CDC){
        CDc=CDC;
       pag = new pagos();
}
    public String Pagar_Todos(String a,List<Date> ldates, List<String> lcomidas)throws Exception{
        //buscar dieta
        String error="ok";
        dieta diet;
        
        cl=CDc.consultar_cliente(a);
        diet=cl.consultar_dieta();
        
        error=pag.pagar_todo(diet,ldates,lcomidas);
        
        
        return error;
    }
     public String Pagar_dias(String[] D,List<Date> ldates, List<String> lcomidas)throws Exception{
        //buscar dieta
         String error;
        dieta diet;
        int x,y,w;
        Date[] fecha= new Date[2];
        
        cl=CDc.consultar_cliente(D[0]);
        diet=cl.consultar_dieta();
        
        x=Integer.parseInt(D[1]);
        y=Integer.parseInt(D[2]);
        w=Integer.parseInt(D[3]);

       fecha[0]= new Date(w,y,x);
        
        x=Integer.parseInt(D[4]);
        y=Integer.parseInt(D[5]);
        w=Integer.parseInt(D[6]);

       fecha[1]= new Date(w,y,x);
       
        error=pag.pagar_fechas(diet,fecha[0], fecha[1],ldates,lcomidas);
        
        return error;
    }
      public String Pagar_dia(String[] D,List<Date> ldates, List<String> lcomidas)throws Exception{
        //buscar dieta
          String error;
        dieta diet;
        int x,y,w;
        Date fecha;
        
        cl=CDc.consultar_cliente(D[0]);
        diet=cl.consultar_dieta();
        
        x=Integer.parseInt(D[1]);
        y=Integer.parseInt(D[2]);
        w=Integer.parseInt(D[3]);

       fecha= new Date(w,y,x);
       
       error=pag.pagar_dia(diet, fecha,ldates,lcomidas);
       
       return error;

    }
       public String Pagar_comida(String[] D, String com)throws Exception{
        //buscar dieta
           String error;
        dieta diet;
        int x,y,w,comida=0;
        Date fecha;
        
        cl=CDc.consultar_cliente(D[0]);
        diet=cl.consultar_dieta();
        
        x=Integer.parseInt(D[1]);
        y=Integer.parseInt(D[2]);
        w=Integer.parseInt(D[3]);

       fecha= new Date(w,y,x);
       
       if(com.equals("Desayuno"))comida=0;
       else if(com.equals("Almuerzo"))comida=1;
       else if(com.equals("Merienda"))comida=2;
       else if(com.equals("Cena"))comida=3;
       else if(com.equals("Resopo"))comida=4;
       
       error=pag.pagar_comida(diet, fecha, comida);
       
       return error;
       
    }
      public String pagar_comida_fechas(String[] D,String com,List<Date> ldates)throws Exception
      {
          String error;
        dieta diet;
        int x,y,w,comida=0;
        Date[] fecha= new Date[2];
        
        cl=CDc.consultar_cliente(D[0]);
        diet=cl.consultar_dieta();
        
        x=Integer.parseInt(D[1]);
        y=Integer.parseInt(D[2]);
        w=Integer.parseInt(D[3]);

       fecha[0]= new Date(w,y,x);
        
        x=Integer.parseInt(D[4]);
        y=Integer.parseInt(D[5]);
        w=Integer.parseInt(D[6]);

       fecha[1]= new Date(w,y,x);
       
       if(com.equals("Desayuno"))comida=0;
       else if(com.equals("Almuerzo"))comida=1;
       else if(com.equals("Merienda"))comida=2;
       else if(com.equals("Cena"))comida=3;
       else if(com.equals("Resopo"))comida=4;
       
       error=pag.pagar_comida_fechas(diet,fecha[0], fecha[1],comida,ldates);
          
        return error;
      }
       
       public List Consultar_todos(String a)throws Exception{
       
        List list;
        dieta diet;
        cl=CDc.consultar_cliente(a);
        diet=cl.consultar_dieta();
       
        
        list=pag.consultar_pagos_pendientes_totales(diet);
       
        return list;
       }
       public List Consultar_dias(String[] D)throws Exception{
       
        List list;           
        dieta diet;
        int x,y,w;
        Date[] fecha= new Date[2];
        
        cl=CDc.consultar_cliente(D[0]);
        diet=cl.consultar_dieta();
        
        x=Integer.parseInt(D[1]);
        y=Integer.parseInt(D[2]);
        w=Integer.parseInt(D[3]);

       fecha[0]= new Date(w,y,x);
        
        x=Integer.parseInt(D[4]);
        y=Integer.parseInt(D[5]);
        w=Integer.parseInt(D[6]);

       fecha[1]= new Date(w,y,x);
       
        list=pag.consultar_pagos_pendientes_dias(diet,fecha[0], fecha[1]);
           
           return list;
       }
       public List Consultar_dia(String[] D)throws Exception{
        
        List list=new ArrayList();
        boolean[] comidas;
        dieta diet;
        int x,y,w,i;
        Date fecha;
        i=0;
        
        cl=CDc.consultar_cliente(D[0]);
        diet=cl.consultar_dieta();
        
        x=Integer.parseInt(D[1]);
        y=Integer.parseInt(D[2]);
        w=Integer.parseInt(D[3]);

       fecha= new Date(w,y,x);
       
       comidas=pag.consultar_pagos_pendientes_dia(diet, fecha);
       
       while(i<comidas.length)
       {
           if(comidas[i]) list.add(Integer.toString(i));
           i++;
       }
           
           return list;
       }
       
}
